from celery import Celery
from mycelery.mysql_pool import MysqlPool
from mycelery.redis_pool import RedisPool

# 创建mysql连接池和redis连接池
mysql_pool = MysqlPool()

# 创建celery实例对象
app = Celery('order')

# 通过app对象加载配置
app.config_from_object('mycelery.config')

# 加载任务
# 参数必须是一个列表，里面的每一个任务都是任务的路径名称
# 不需要写成mycelery.order.tasks, 因为自动会去找tasks（固定名称）文件，
# app.autodiscover_tasks(['mycelery.order', ])

# 上面的加载任务也可以在配置文件中imports = [任务1,任务２] （但任务后面一定要加tasks文件名）
#

# 初始mysql连接池



# 消费者开始监听任务
# 启动Celery的命令
# 强烈建议切换目录到mycelery根目录下启动
# celery -A mycelery.main worker --loglevel=info


'''
发布任务
celery -A celery_task beat
执行任务
celery -A celery_task worker -l info -P eventlet
将以上两条合并
celery -B -A celery_task worker
后台启动celery worker进程
celery multi start work_1 -A appcelery
停止worker进程，如果无法停止，加上-A
celery multi stop WORKNAME
重启worker进程
celery multi restart WORKNAME
查看进程数
celery status -A celery_task
'''